import api from '../../../api/index';
import Toast from '@vant/weapp/toast/toast';
import CONFIG from '../../../utils/config';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    logo:'http://lk-webfont.oss-cn-beijing.aliyuncs.com/redstart/imgtouxiang.png',
    show: false,
    type: '2',
    goodlist: [],
    goodLeftList: [],
		goodLRightList: [],
    pageNum: 0,
		pageSize: 10,
		noMor: false,
    noData: false,
    usershow: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    wx.getStorage({
      key: 'userInfo',
      success: (res) => {
        this.setData({ usershow: true });
      },
      fail: () => { },
      complete: () => { }
    }) 
    this.setData({
      type: '2',
      pageNum: 0,
      goodlist: [],
      goodLeftList: [],
      goodLRightList: []
    })
    this.getDiscoversArticle()
  },
  getorg () {
    const actions = {
      data: {},
      head: {}
    };
    try {
      api.get(`/api/hxhealth/login/orgapp/${CONFIG.orgCode}/${CONFIG.appCode}`,actions,true).then((res) => {
        console.log(res);
        console.log(res.head['Set-Cookie']);
        if (res.head['Set-Cookie']) {
          wx.setStorageSync('accessToken', res.head['Set-Cookie']);
        } 
        this.getDiscoversArticle()
      });
    } catch (e) {
      console.error(e);
    }
  },
  changType(e) {
    Toast.loading({
      message: '加载中...'
    });
    this.setData({
      goodlist: []
    })
    this.setData({
      type: e.target.dataset.type
    })
    this.setData({
      pageNum: 0,
		  pageSize: 10,
      noMor: false,
      noData: false
    })
    if(e.target.dataset.type === '1') {
      this.getFollowsArticle()
    } else if(e.target.dataset.type === '2') {
      this.getDiscoversArticle()
    }else if(e.target.dataset.type === '3') {
      this.getCollectlistArticle()
    }
  },
  goMyuser() {
    wx.getStorage({
      key: 'userInfo',
      success: (res) => {
        var userid = res.data.id
        wx.navigateTo({ url: `/community/pages/myuser/index?userid=${userid}` });
      },
      fail: () => { },
      complete: () => { }
    }) 
  },
  goSearch() {
    wx.navigateTo({ url: `/community/pages/search/index` });
  },
  handlerToall() {
    this.setData({ show: true });
  },
  onClose() {
    this.setData({ show: false });
  },
  addpic() {
    this.onClose()
    wx.navigateTo({ url: `/community/pages/addpic/index` });
  },
  addvideo() {
    this.onClose()
    wx.navigateTo({ url: `/community/pages/addvideo/index` });
  },
  onUserClick(e) {
    console.log(e);
    var userid = e.currentTarget.dataset.userid
    wx.navigateTo({ url: `/community/pages/adduser/index?userid=${userid}` });
  },
  loadImages (array) {
    array.forEach(item => {
      item.imgsList = []
      item.videosList = []
      if(item.media) {
        const mediaObj = JSON.parse(item.media)
        if(mediaObj.images) {
          mediaObj.images.forEach(img => {
            item.imgsList.push(img.file)
          })
        }
        if(mediaObj.videos) {
          mediaObj.videos.forEach(v => {
            item.videosList.push(v.file)
          })
        }
      }
    })
    return array
  },
  // onDesicClick(e) {
  //   var id = e.currentTarget.dataset.id
  //   wx.navigateTo({ url: `/community/pages/desc/index?id=${id}` } );
  // },
  // onPalyClick(e) {
  //   var id = e.currentTarget.dataset.id
  //   wx.navigateTo({ url: `/community/pages/playvideo/index?id=${id}` });
  // },
  goDetail(e) {
    var id = e.currentTarget.dataset.id
    if (this.data.type == 1) {
      wx.navigateTo({ url: `/community/pages/follows/index?id=${id}` })
    } else if (this.data.type == 2) {
      wx.navigateTo({ url: `/community/pages/discovers/index?id=${id}` })
    } else if (this.data.type == 3) {
      wx.navigateTo({ url: `/community/pages/collects/index?id=${id}` })
    }
  },
  onclickzans(e) {
    var item = e.currentTarget.dataset.item
    let index = e.currentTarget.dataset.index
    console.log(item,'aabb')
    if(item.zaned == 'false') {
      try {
        api.get(`/api/hxhealth/forum/article/zan/${item.id}`).then((res) => {
          Toast.success('点赞成功');
          const list = this.data.goodlist
          let num = Number(list[index].zans)
          list[index].zans = num + 1
          list[index].zaned = 'true'
          this.setData({
            goodlist: list
          })
        });
      } catch (e) {
        console.error(e);
      }
    } else {
      try {
        api.get(`/api/hxhealth/forum/article/unzan/${item.id}`).then((res) => {
          console.log(res);
          Toast.success('取消成功');
          const list = this.data.goodlist
          let num = Number(list[index].zans)
          list[index].zans = num - 1
          list[index].zaned = 'false'
          this.setData({
            goodlist: list
          })
          // this.getauthorUser(this.data.userid)
          // this.article(this.data.userid)
        });
      } catch (e) {
        console.error(e);
      }
    }
  },
	// 获取关注的文章
  getFollowsArticle() {
		const actions = {
			data: {
        name: ''
			},
			head: {
				firstresult: this.data.pageNum,
        maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		try {
			api.post('/api/hxhealth/forum/article/follows', actions).then((res) => {
				if (res.length == 0) { //请求的数据为空，没有数据
          if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
            this.setData({
              noData: true,
            })
          } else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
            this.setData({
              noMor: true,
              pageNum: 0
            })
          }
        } else {  // 请求的结果有数据
					const dataList = this.loadImages([...this.data.goodlist, ...res])
          if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
            this.setData({
              goodlist: dataList,
              noMor: false,
              noData: false
            })
          } else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
            this.setData({
              goodlist: dataList,
              noMor: true,
              noData: false
            })
          }
        }
				Toast.clear();
			});
		} catch (e) {
			console.error(e);
		}
	},
  // 获取发现的文章
  getDiscoversArticle() {
		const actions = {
			data: {
        name: ''
			},
			head: {
				firstresult: this.data.pageNum,
        maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		try {
			api.post('/api/hxhealth/forum/article/discovers', actions).then((res) => {
				if (res.length == 0) { //请求的数据为空，没有数据
          if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
            this.setData({
              noData: true,
            })
          } else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
            this.setData({
              noMor: true,
              pageNum: 0
            })
          }
        } else {  // 请求的结果有数据
					const dataList = this.loadImages([...this.data.goodlist, ...res])
					let leftList = []
					let rightList = []
					dataList.forEach((item, index) => {
						if(index % 2 === 0) {
							leftList.push(item)
						} else {
							rightList.push(item)
						}
					})
          if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
            this.setData({
              goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
              noMor: false,
              noData: false
            })
          } else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
            this.setData({
              goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
              noMor: true,
              noData: false
            })
          }
          console.log(dataList, 'dataList')
        }
				Toast.clear();
			}).catch(error => {
        this.getorg()
        // wx.showToast({
        //   title: error.faultstring,
        //   icon: 'none',
        //   duration: 3000
        // })
        return
      });
		} catch (e) {
      console.error(e);
		}
  },
  // 收藏列表
  getCollectlistArticle() {
    const actions = {
			data: {
        name: ''
			},
			head: {
				firstresult: this.data.pageNum,
        maxresults: this.data.pageSize,
				bodytype: 'flat',
			}
		};
		try {
			api.post('/api/hxhealth/forum/article/collects', actions).then((res) => {
				if (res.length == 0) { //请求的数据为空，没有数据
          if (this.data.pageNum == 0) { // 第一页都没有数据，直接显示暂无数据
            this.setData({
              noData: true,
            })
          } else { // 不为第一页时，请求的数据为空，说明没有更多数据了，把pageNum减一，是为了下次触底可以继续请求刷新，万一有了新数据也可以正常显示出来
            this.setData({
              noMor: true,
              pageNum: 0
            })
          }
        } else {  // 请求的结果有数据
					const dataList = this.loadImages([...this.data.goodlist, ...res])
					let leftList = []
					let rightList = []
					dataList.forEach((item, index) => {
						if(index % 2 === 0) {
							leftList.push(item)
						} else {
							rightList.push(item)
						}
					})
          if (res.length == this.data.pageSize) { // 请求的数据为10条，说明下一页可能还有数据，列表添加上新的数据，把其他状态设为不显示
            this.setData({
              goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
              noMor: false,
              noData: false
            })
          } else { // 请求的数据没有10条，说明下一页已经暂时没有数据了，列表添加上新的数据，底部显示暂无更多数据
            this.setData({
              goodlist: dataList,
							goodLeftList: leftList,
							goodRightList: rightList,
              noMor: true,
              noData: false
            })
          }
        }
				Toast.clear();
			});
		} catch (e) {
			console.error(e);
		}
  },
  getData() {},
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {
		if ((this.data.pageNum + 1) * this.data.pageSize == this.data.goodlist.length) { 
		// 数据列表的数量刚好等于页数*每页条数，可以请求下一页
			this.setData({
				pageNum: this.data.pageNum + 1, // 一般上拉触底是为了加载更多分页数据，所以这里页数自增
			});
			// 查询列表方法
      if(this.data.type === '1') {
        this.getFollowsArticle()
      } else if (this.data.type === '2') {
        this.getDiscoversArticle()
      } else if (this.data.type === '3') {
        this.getCollectlistArticle()
      }
		} else { 
		// 数据列表的数量不等于页数*每页条数，说明当前页数据不足10条，已经没有更多数据了
			this.setData({
				noMor: true  // 这里在页面最底部显示一排文字，没有更多数据了
			})
		}
	},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})